1. Field of the Invention
This invention relates to circuits for measuring distance between vectors, and in particular to a distance measuring array of analog storage cells, which is applicable to various applications including vector quantization and pattern recognition.
2. Description of Related Art
Vectors are well known mathematical constructs which have nearly limitless applications to physical systems. Mathematically, a vector has a magnitude and a direction and is typically represented by a set of components. A Euclidean distance between a first vector and a second vector can be defined as the squareroot of the sum of the squares of the differences between the components of the first vector and the corresponding components of the second vector. If the two vectors are equal, each component of the first vector equals the corresponding component of a second vector, and the Euclidean distance between the vectors is zero.
Physical quantities represented by vectors are commonly indicated in circuits, by parallel signals where each signal indicates a component of a vector. For example, a sound can be periodically sampled to create a vector having components which are sound amplitudes distinguished by a time index. Alternatively, a sound can be filtered and decomposed into frequency components that represent components of a discrete Fourier transform. Each component can be represented by an analog signal or by a multi-bit digital signal. In the following, the term vector, when used in the context of a physical system, refers to a set of signals which represent vector components.
Many physical systems, such as systems which perform vector quantization, pattern recognition, pattern matching, and data compression measure the distance between vectors. Digital processing for distance measurement is known. Such digital processing often requires an analog-to-digital converter which digitizes analog signals representing the vector components before a general purpose processor or a special purpose integrated circuit determines the distance between two vectors. Determining a distance with a general purpose processor typically requires many clock cycles and in a system that processes vectors in real time, can create a bottle neck because often each vector has many components and there are many pair of vectors to be compared. Special purpose circuits can be faster at determining distances than are general purpose processors, but prior art special purpose circuits tend to be complicated and increase the size and cost of a system.
A simple distance measuring circuit is needed which can operate directly on analog vector components and provide a signal indicating the distance between the vectors.